<?php

if (isset($quantreg)) {
    $quant_pg = ceil($quantreg / $numreg);

    //Define o número de links além da página atual
    $max_links = 2;
    //Quantos links terá de cada lado da página atual
    $links_laterais = ceil($max_links / 2);
    //Determina qual os numeros que estarão nas pontas
    $inicio = $pg - $links_laterais;
    $fim = $pg + $links_laterais;

    echo "<ul class='pagination' >";
    //Pega o nome base da página em execução
    $self = $_SERVER["PHP_SELF"];
    //    Verifica se esta na primeira página, se nao estiver ele libera o link para anterior e primeira
    echo "<ul class='pagination' >";
    if ($pg > 0) {
        echo "<li class=''><a href=" . $self . "?pg=" . 0 . "><i class='glyphicon glyphicon-fast-backward' title='Primeira'></i></a></li>";
        echo "<li class=''><a href=" . $self . "?pg=" . ($pg - 1) . "><i class='glyphicon glyphicon-step-backward' title='Anterior'></i></a></li>";
    } else {
        echo "<li class='disabled'><a href=" . $self . "?pg=" . 0 . "><i class='glyphicon glyphicon-fast-backward'></i></a></li>";
        echo "<li class='disabled'><a href='#'><i class='glyphicon glyphicon-step-backward'></i>  </font></a></li>";
    }
    //Se estiver em uma das extremidades da paginação total, aumenta em um o numero de links no lado inverso, mantendo o layout sem quebra
    if ($pg == 0) {
        $fim++;
    }
    if ($pg == ($quant_pg - 1)) {
        $inicio--;
    }
    //Cria e exibe os links de acordo com a quantidade estabelecida em ($max_links + 1)
    for ($i = $inicio; $i < $quant_pg; $i++) {
        if ($i == $pg) {
            echo "<li class='active'><a href='#'>" . ($i + 1) . "</a></li> ";
        } else {
            if ($i >= 0) {
                if ($i >= $inicio && $i <= $fim) {
                    echo " <li class='disable'><a href=" . $self . "?pg=" . $i . "\">" . ($i + 1) . "</a> </li>";
                }
            }
        }
    }
//     Verifica se esta na ultima página, se nao estiver ele libera o link para próxima e ultima
    if (($pg + 1) < $quant_pg) {
        echo "<li class=''><a href=" . $self . "?pg=" . ($pg + 1) . " ><i class='glyphicon glyphicon-step-forward' title='Próxima'></i></a></li>";
        echo "<li class=''><a href=" . $self . "?pg=" . ($quant_pg - 1) . "><i class='glyphicon glyphicon-fast-forward' title='Última'></i></a></li>";
    } else {
        echo "<li class='disabled'><a href='#'><i class='glyphicon glyphicon-step-forward'></i></a></li>";
        echo "<li class='disabled'><a href=" . $self . "?pg=" . ($quant_pg - 1) . "><i class='glyphicon glyphicon-fast-forward'></i> </a></li>";
    }
    echo "</ul>";
}
?>